<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    </style>
</head>

<body>

    <script>
        // 类class 包括构造函数constructor 可以接受参数，定义方法
        // 能力：创建实例化对象 / 继承
        class Person {
            constructor(name, age) {
                this.name = name;
                this.age = age;
            }
            eat() {
                console.log(`我是${this.name}，会吃饭`);
            }
        }
        
        // 创建一个动物类，可以继承父类的所有属性和方法
        class Animal extends Person {
            // 添加自己的属性，需要加上constructor + super
            constructor(name, age, sex) {
                super(name, age) // 继承父类的属性 必须放在第一行
                // 添加自己的属性
                this.sex = sex
            }
            // 添加自己的方法
            jump() {
                console.log(`我是${this.name}，会动物跳`);
            }
        }

        let monkey = new Animal('急急国王', 18, 'boy');
        console.log(monkey);
        monkey.eat()
        monkey.jump()

        let p1 = new Person('张三', 188);
        console.log(p1);
        p1.eat();

    </script>

</body>

</html>

